//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//


#define ILDUMP_VOID BYTE

IL_OPCODE(0x00,             "nop            ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x01,             "break          ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x02,             "ldarg.0        ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x03,             "ldarg.1        ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x04,             "ldarg.2        ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x05,             "ldarg.3        ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x06,             "ldloc.0        ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x07,             "ldloc.1        ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x08,             "ldloc.2        ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x09,             "ldloc.3        ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x0a,             "stloc.0        ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x0b,             "stloc.1        ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x0c,             "stloc.2        ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x0d,             "stloc.3        ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x0e,             "ldarg.s        ", 1, BYTE, "%d", 0)
IL_OPCODE(0x0f,             "ldarga.s       ", 1, BYTE, "%d", 0)
IL_OPCODE(0x10,             "starg.s        ", 1, BYTE, "%d", 0)
IL_OPCODE(0x11,             "ldloc.s        ", 1, BYTE, "%d", 0)
IL_OPCODE(0x12,             "ldloca.s       ", 1, BYTE, "%d", 0)
IL_OPCODE(0x13,             "stloc.s        ", 1, BYTE, "%d", 0)
IL_OPCODE(0x14,             "ldnull         ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x15,             "ldc.i4.m1      ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x16,             "ldc.i4.0       ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x17,             "ldc.i4.1       ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x18,             "ldc.i4.2       ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x19,             "ldc.i4.3       ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x1a,             "ldc.i4.4       ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x1b,             "ldc.i4.5       ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x1c,             "ldc.i4.6       ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x1d,             "ldc.i4.7       ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x1e,             "ldc.i4.8       ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x1f,             "ldc.i4.s       ", 1, BYTE, "%d", 0)
IL_OPCODE(0x20,             "ldc.i4         ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0x21,             "ldc.i8         ", 8, UNALIGNED INT64, "0x%I64x", 0)
IL_OPCODE(0x22,             "ldc.r4         ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0x23,             "ldc.r8         ", 8, UNALIGNED INT64, "0x%I64x", 0)
IL_OPCODE(0x25,             "dup            ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x26,             "pop            ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x27,             "jmp            ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0x28,             "call           ", 4, UNALIGNED INT32, "0x%08x", 1)
IL_OPCODE(0x29,             "calli          ", 4, UNALIGNED INT32, "0x%08x", 1)
IL_OPCODE(0x2a,             "ret            ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x2b,             "br.s           ", 1, BYTE, "%d", 0)
IL_OPCODE(0x2c,             "brfalse.s      ", 1, BYTE, "%d", 0)
IL_OPCODE(0x2d,             "brtrue.s       ", 1, BYTE, "%d", 0)
IL_OPCODE(0x2e,             "beq.s          ", 1, BYTE, "%d", 0)
IL_OPCODE(0x2f,             "bge.s          ", 1, BYTE, "%d", 0)
IL_OPCODE(0x30,             "bgt.s          ", 1, BYTE, "%d", 0)
IL_OPCODE(0x31,             "ble.s          ", 1, BYTE, "%d", 0)
IL_OPCODE(0x32,             "blt.s          ", 1, BYTE, "%d", 0)
IL_OPCODE(0x33,             "bne.un.s       ", 1, BYTE, "%d", 0)
IL_OPCODE(0x34,             "bge.un.s       ", 1, BYTE, "%d", 0)
IL_OPCODE(0x35,             "bgt.un.s       ", 1, BYTE, "%d", 0)
IL_OPCODE(0x36,             "ble.un.s       ", 1, BYTE, "%d", 0)
IL_OPCODE(0x37,             "blt.un.s       ", 1, BYTE, "%d", 0)
IL_OPCODE(0x38,             "br             ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0x39,             "brfalse        ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0x3a,             "brtrue         ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0x3b,             "beq            ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0x3c,             "bge            ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0x3d,             "bgt            ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0x3e,             "ble            ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0x3f,             "blt            ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0x40,             "bne.un         ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0x41,             "bge.un         ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0x42,             "bgt.un         ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0x43,             "ble.un         ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0x44,             "blt.un         ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0x46,             "ldind.i1       ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x47,             "ldind.u1       ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x48,             "ldind.i2       ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x49,             "ldind.u2       ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x4a,             "ldind.i4       ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x4b,             "ldind.u4       ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x4c,             "ldind.i8       ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x4d,             "ldind.i        ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x4e,             "ldind.r4       ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x4f,             "ldind.r8       ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x50,             "ldind.ref      ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x51,             "stind.ref      ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x52,             "stind.i1       ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x53,             "stind.i2       ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x54,             "stind.i4       ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x55,             "stind.i8       ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x56,             "stind.r4       ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x57,             "stind.r8       ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x58,             "add            ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x59,             "sub            ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x5a,             "mul            ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x5b,             "div            ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x5c,             "div.un         ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x5d,             "rem            ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x5e,             "rem.un         ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x5f,             "and            ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x60,             "or             ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x61,             "xor            ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x62,             "shl            ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x63,             "shr            ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x64,             "shr.un         ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x65,             "neg            ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x66,             "not            ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x67,             "conv.i1        ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x68,             "conv.i2        ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x69,             "conv.i4        ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x6a,             "conv.i8        ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x6b,             "conv.r4        ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x6c,             "conv.r8        ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x6d,             "conv.u4        ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x6e,             "conv.u8        ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x6f,             "callvirt       ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0x70,             "cpobj          ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0x71,             "ldobj          ", 4, UNALIGNED INT32, "0x%08x", 1)
IL_OPCODE(0x72,             "ldstr          ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0x73,             "newobj         ", 4, UNALIGNED INT32, "0x%08x", 1)
IL_OPCODE(0x74,             "castclass      ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0x75,             "isinst         ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0x76,             "conv.r.un      ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x79,             "unbox          ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0x7a,             "throw          ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x7b,             "ldfld          ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0x7c,             "ldflda         ", 4, UNALIGNED INT32, "0x%08x", 1)
IL_OPCODE(0x7d,             "stfld          ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0x7e,             "ldsfld         ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0x7f,             "ldsflda        ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0x80,             "stsfld         ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0x81,             "stobj          ", 4, UNALIGNED INT32, "0x%08x", 1)
IL_OPCODE(0x82,             "conv.ovf.i1.un ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x83,             "conv.ovf.i2.un ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x84,             "conv.ovf.i4.un ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x85,             "conv.ovf.i8.un ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x86,             "conv.ovf.u1.un ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x87,             "conv.ovf.u2.un ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x88,             "conv.ovf.u4.un ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x89,             "conv.ovf.u8.un ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x8a,             "conv.ovf.i.un  ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x8b,             "conv.ovf.u.un  ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x8c,             "box            ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0x8d,             "newarr         ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0x8e,             "ldlen          ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x8f,             "ldelema        ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0x90,             "ldelem.i1      ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x91,             "ldelem.u1      ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x92,             "ldelem.i2      ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x93,             "ldelem.u2      ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x94,             "ldelem.i4      ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x95,             "ldelem.u4      ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x96,             "ldelem.i8      ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x97,             "ldelem.i       ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x98,             "ldelem.r4      ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x99,             "ldelem.r8      ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x9a,             "ldelem.ref     ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x9b,             "stelem.i       ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x9c,             "stelem.i1      ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x9d,             "stelem.i2      ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x9e,             "stelem.i4      ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0x9f,             "stelem.i8      ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0xa0,             "stelem.r4      ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0xa1,             "stelem.r8      ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0xa2,             "stelem.ref     ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0xb3,             "conv.ovf.i1    ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0xb4,             "conv.ovf.u1    ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0xb5,             "conv.ovf.i2    ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0xb6,             "conv.ovf.u2    ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0xb7,             "conv.ovf.i4    ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0xb8,             "conv.ovf.u4    ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0xb9,             "conv.ovf.i8    ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0xba,             "conv.ovf.u8    ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0xc2,             "refanyval      ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0xc3,             "ckfinite       ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0xc6,             "mkrefany       ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0xd0,             "ldtoken        ", 4, UNALIGNED INT32, "0x%08x", 1)
IL_OPCODE(0xd1,             "conv.u2        ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0xd2,             "conv.u1        ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0xd3,             "conv.i         ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0xd4,             "conv.ovf.i     ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0xd5,             "conv.ovf.u     ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0xd6,             "add.ovf        ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0xd7,             "add.ovf.un     ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0xd8,             "mul.ovf        ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0xd9,             "mul.ovf.un     ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0xda,             "sub.ovf        ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0xdb,             "sub.ovf.un     ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0xdc,             "endfinally     ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0xdd,             "leave          ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE(0xde,             "leave.s        ", 1, BYTE, "%d", 0)
IL_OPCODE(0xdf,             "stind.i        ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE(0xe0,             "conv.u         ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE_EXT(0xfe, 0x00,   "arglist        ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE_EXT(0xfe, 0x01,   "ceq            ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE_EXT(0xfe, 0x02,   "cgt            ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE_EXT(0xfe, 0x03,   "cgt.un         ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE_EXT(0xfe, 0x04,   "clt            ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE_EXT(0xfe, 0x05,   "clt.un         ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE_EXT(0xfe, 0x06,   "ldftn          ", 4, UNALIGNED INT32, "0x%08x", 1)
IL_OPCODE_EXT(0xfe, 0x07,   "ldvirtftn      ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE_EXT(0xfe, 0x09,   "ldarg          ", 2, UNALIGNED INT16, "0x%04x", 0)
IL_OPCODE_EXT(0xfe, 0x0a,   "ldarga         ", 2, UNALIGNED INT16, "0x%04x", 0)
IL_OPCODE_EXT(0xfe, 0x0b,   "starg          ", 2, UNALIGNED INT16, "0x%04x", 0)
IL_OPCODE_EXT(0xfe, 0x0c,   "ldloc          ", 2, UNALIGNED INT16, "0x%04x", 0)
IL_OPCODE_EXT(0xfe, 0x0d,   "ldloca         ", 2, UNALIGNED INT16, "0x%04x", 0)
IL_OPCODE_EXT(0xfe, 0x0e,   "stloc          ", 2, UNALIGNED INT16, "0x%04x", 0)
IL_OPCODE_EXT(0xfe, 0x0f,   "localloc       ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE_EXT(0xfe, 0x11,   "endfilter      ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE_EXT(0xfe, 0x12,   "unaligned.     ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE_EXT(0xfe, 0x13,   "volatile.      ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE_EXT(0xfe, 0x14,   "tail.          ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE_EXT(0xfe, 0x15,   "initobj        ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE_EXT(0xfe, 0x17,   "cpblk          ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE_EXT(0xfe, 0x18,   "initblk        ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE_EXT(0xfe, 0x1a,   "rethrow        ", 0, ILDUMP_VOID, "", 0)
IL_OPCODE_EXT(0xfe, 0x1c,   "sizeof         ", 4, UNALIGNED INT32, "0x%08x", 0)
IL_OPCODE_EXT(0xfe, 0x1d,   "refanytype     ", 0, ILDUMP_VOID, "", 0)

#undef ILDUMP_VOID

